맨위로가기

추상화 계층

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

추상화 계층은 컴퓨터 시스템의 복잡성을 관리하기 위해 사용되는 개념으로, 하드웨어, 펌웨어, 어셈블리 언어, 운영 체제, 프로세스 등 여러 계층으로 구성된다. 각 계층은 특정 기능을 수행하고, 상위 계층에 추상화된 인터페이스를 제공하여 시스템의 모듈성과 유연성을 높인다. 입출력(I/O) 작업은 바이트 스트림으로 추상화되어 장치 독립성을 제공하며, 그래픽스 라이브러리는 장치 종속적인 세부 사항을 숨기는 추상 인터페이스를 통해 그래픽 장치 모델을 제공한다.

광고

더 읽어볼만한 페이지

  • 컴퓨터 구조 - PA-RISC
    PA-RISC는 휴렛 팩커드에서 개발한 RISC 기반 명령어 집합 아키텍처로, HP 서버 및 워크스테이션에 사용되었으며 대용량 L1 캐시와 SIMD 명령어 확장 등의 특징을 가졌으나 아이테니엄 아키텍처로의 전환으로 단종되었다.
  • 컴퓨터 구조 - 메모리 관리
    메모리 관리는 운영체제의 핵심 기능으로, 여러 프로세스의 원활한 실행을 위해 메모리 공간을 할당하고 관리하며, 릴로케이션, 보호, 공유, 가상 메모리 관리, 자동/수동 메모리 관리 등의 기능을 수행한다.

2. 컴퓨터 구조

컴퓨터 구조에서 컴퓨터 시스템은 일반적으로 다섯 가지 수준으로 구성된다.[7] 컴퓨터 아키텍처에서는 소프트웨어, 프로그래밍 가능한 논리, 하드웨어와 같은 여러 추상화 계층으로 구성된다.[4]

또한, 컴퓨터 아키텍처에서 컴퓨터 시스템은 하드웨어, 펌웨어, 어셈블리 언어, 운영 체제, 프로세스와 같은 5개의 추상화 계층으로 나타낸다.[6]

2. 1. 하드웨어

컴퓨터 아키텍처에서 컴퓨터 시스템은 일반적으로 여러 추상화 계층으로 구성되는데, 그 중 하나는 하드웨어이다.[7] 프로그래밍 가능한 논리는 종종 하드웨어의 일부로 간주되기도 한다.[4]

2. 2. 프로그래밍 가능한 논리

컴퓨터 아키텍처에서 컴퓨터 시스템은 일반적으로 소프트웨어, 프로그래밍 가능한 논리, 하드웨어와 같은 여러 추상화 계층으로 구성된다.[4] 프로그래밍 가능한 논리는 종종 하드웨어의 일부로 간주되며, 논리적 정의는 때때로 장치의 소프트웨어나 펌웨어의 일부로 간주되기도 한다.[4] 펌웨어는 로우 레벨 소프트웨어만 포함할 수도 있지만, 운영 체제 및 응용 프로그램을 포함한 모든 소프트웨어를 포함할 수도 있다.[4] VHDL, 기계어, 어셈블리 언어와 같은 로우 레벨 프로그래밍 언어에서 컴파일 언어, 인터프리터, 스크립트 언어로의 구별도 가능하다.[4]

2. 3. 소프트웨어

컴퓨터 구조에서 컴퓨터 시스템은 일반적으로 소프트웨어, 프로그래밍 가능한 논리, 하드웨어를 포함한 여러 추상화 계층으로 구성된다.[7] 프로그래밍 가능한 논리는 종종 하드웨어의 일부로 간주되며, 논리적 정의는 때때로 장치의 소프트웨어나 펌웨어의 일부로 간주되기도 한다. 펌웨어는 로우 레벨 소프트웨어뿐만 아니라, 운영 체제 및 응용 프로그램을 포함한 모든 소프트웨어를 포함할 수도 있다. 소프트웨어 계층은 더 세분될 수 있다.[4]

2. 3. 1. 운영 체제

컴퓨터 아키텍처에서 컴퓨터 시스템은 일반적으로 하드웨어, 펌웨어, 어셈블리 언어, 운영 체제, 프로세스와 같은 5개의 추상화 계층으로 나타낸다.[6] 소프트웨어 계층은 하드웨어 추상화 계층, 물리적 및 논리적 장치 드라이버, 파일 시스템과 같은 저장소, 운영 체제 커널, 미들웨어, 응용 프로그램 등으로 더 세분될 수 있다.[4]

2. 3. 2. 응용 프로그램

컴퓨터 시스템에서 응용 프로그램은 소프트웨어 계층의 최상단에 위치하며, 사용자가 직접 사용하는 프로그램이다. 응용 프로그램은 하드웨어 추상화 계층, 장치 드라이버, 파일 시스템, 운영 체제 커널, 미들웨어 등을 거쳐 하드웨어와 상호작용한다.[4]

2. 3. 3. 프로그래밍 언어

컴퓨터 아키텍처에서 프로그래밍 언어는 컴파일 언어, 인터프리터, 스크립트 언어와 같은 상위 레벨 프로그래밍 언어와 VHDL, 기계어, 어셈블리 언어와 같은 로우 레벨 프로그래밍 언어로 구분할 수 있다.[4]

2. 4. 펌웨어

펌웨어는 로우 레벨 소프트웨어뿐만 아니라, 운영 체제 및 응용 프로그램을 포함한 모든 소프트웨어를 포함할 수도 있다.[4] 컴퓨터 아키텍처에서 펌웨어는 하드웨어, 어셈블리 언어, 운영 체제, 프로세스와 함께 추상화 계층을 구성한다.[6]

3. 입출력(I/O)

유닉스 운영 체제에서 대부분의 입출력(I/O) 작업은 장치에서 읽거나 장치에 기록되는 바이트 스트림으로 간주된다. 이 바이트 스트림 모델은 파일 I/O, 소켓 I/O 및 터미널 I/O에 사용된다. 응용 프로그램 수준에서 장치에 데이터를 읽고 쓰려면, 프로그램은 장치를 여는 함수를 호출한다. 이때 장치는 터미널과 같은 실제 장치일 수도 있고, 네트워크 포트나 파일 시스템의 파일과 같은 가상 장치일 수도 있다. 장치의 물리적 특성은 운영 체제에 의해 매개되며, 이는 프로그래머가 장치에서 바이트를 읽고 쓸 수 있는 추상 인터페이스를 제공한다. 그러면 운영 체제는 바이트 스트림을 장치에 읽고 쓰는 데 필요한 실제 변환을 수행한다.[1]

3. 1. 장치 독립성

유닉스 운영 체제에서 대부분의 입출력 작업은 장치에서 읽거나 장치에 기록되는 바이트 스트림으로 간주된다. 이 바이트 스트림 모델은 파일 I/O, 소켓 I/O 및 터미널 I/O에 사용되어 장치 독립성을 제공한다.[1] 응용 프로그램 수준에서 장치에 읽고 쓰려면 프로그램은 장치를 여는 함수를 호출한다. 이 장치는 터미널과 같은 실제 장치일 수도 있고, 네트워크 포트나 파일 시스템의 파일과 같은 가상 장치일 수도 있다. 장치의 물리적 특성은 운영 체제에 의해 매개되며, 이는 프로그래머가 장치에서 바이트를 읽고 쓸 수 있는 추상 인터페이스를 제공한다. 그러면 운영 체제는 바이트 스트림을 장치에 읽고 쓰는 데 필요한 실제 변환을 수행한다.[1]

3. 2. 추상 인터페이스

유닉스 운영 체제에서 대부분의 입출력 작업은 장치에서 읽거나 장치에 기록되는 바이트 스트림으로 간주된다. 이 바이트 스트림 모델은 파일 I/O, 소켓 I/O 및 터미널 I/O에 사용되어 장치 독립성을 제공한다. 응용 프로그램 수준에서 장치에 데이터를 읽고 쓰려면, 프로그램은 장치를 여는 함수를 호출한다. 이때 장치는 터미널과 같은 실제 장치일 수도 있고, 네트워크 포트나 파일 시스템의 파일과 같은 가상 장치일 수도 있다. 장치의 물리적 특성은 운영 체제에 의해 매개된다. 이는 프로그래머가 장치에서 바이트를 읽고 쓸 수 있는 추상 인터페이스를 제공한다. 그러면 운영 체제는 바이트 스트림을 장치에 읽고 쓰는 데 필요한 실제 변환을 수행한다.

4. 그래픽스

OpenGL과 같은 대부분의 그래픽스 라이브러리는 추상적인 그래픽 장치 모델을 인터페이스로 제공한다. 라이브러리는 프로그래머가 제공한 명령을 그래픽 요소와 객체를 그리는 데 필요한 특정 장치 명령으로 변환하는 역할을 한다. 플로터와 CRT 모니터에 대한 특정 장치 명령은 다르지만, 그래픽스 라이브러리는 원시 도형을 제공하는 추상 인터페이스를 제공하여 구현 및 장치 종속적인 세부 사항을 숨긴다.[1]

4. 1. 그래픽스 라이브러리

OpenGL과 같은 대부분의 그래픽스 라이브러리는 인터페이스로 추상적인 그래픽 장치 모델을 제공한다. 이러한 라이브러리는 프로그래머가 제공한 명령을 그래픽 요소 및 객체를 그리는 데 필요한 특정 장치 명령으로 변환하는 역할을 수행한다. 플로터에 대한 특정 장치 명령은 CRT 모니터에 대한 장치 명령과는 다르지만, 그래픽스 라이브러리는 그래픽 객체를 그리는 데 일반적으로 유용한 일련의 원시 도형을 제공하는 추상 인터페이스를 제공함으로써 구현 및 장치 종속적인 세부 사항을 숨긴다.

4. 2. 원시 도형

OpenGL과 같은 대부분의 그래픽스 라이브러리는 인터페이스로서 추상적인 그래픽 장치 모델을 제공한다. 라이브러리는 프로그래머가 제공한 명령을 그래픽 요소와 객체를 그리는 데 필요한 특정 장치 명령으로 변환하는 역할을 한다. 플로터에 대한 특정 장치 명령은 CRT 모니터에 대한 장치 명령과 다르지만, 그래픽스 라이브러리는 구현 및 장치 종속적인 세부 사항을 숨기고, 그래픽 객체를 그리는 데 일반적으로 유용한 일련의 원시 도형을 제공하는 추상 인터페이스를 제공한다.[1]

참조

[1] 서적 Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (Addison-Wesley Signature Series (Fowler)) Addison-Wesley Professional 2012-03-09
[2] 서적 Beautiful Code: Leading Programmers Explain How They Think O'Reilly and Associates
[3] 트윗 "@drunkcod Yes, that's my corollary :^)" 2012-09-03
[4] 서적 Structured Computer Organization Prentice-Hall
[5] 서적 Foundations of modern networking : SDN, NFV, QoE, IoT, and Cloud https://www.worldcat[...] Prentice-Hall 2016
[6] 서적 Structured Computer Organization Prentice-Hall
[7] 서적 Structured Computer Organization Prentice-Hall



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com